home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
DiskUtil
/
Crunch
/
XPK
/
DOCS
/
MASH.DOC
< prev
next >
Wrap
Text File
|
1994-12-16
|
5KB
|
135 lines
MASH
Another LZRW based compression algorithm
Version 1.26 (10 Dec 1994)
Copyright 1994 Zdenek Kabelac
License/Disclaimer
------------------
xpkMASH is (C) Copyright 1994 by Zdenek Kabelac.
This package may be freely distributed, as long as it is kept in its
original, complete, and unmodified form. It may not be distributed by itself
or in a commercial package of any kind without my written permission.
xpkMASH is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Installation
------------
Make sure the directory libs:compressors does exist and then just copy
xpkFAST.library to libs:compressors. You also need to have the XPK package
installed, it is available from several sources including Fish disks.
Description
-----------
xpkMASH is an XPK compression sublibrary whose main purpose is to be fast
in decrunch and have excelent crunch factor. The sublib is using LZ77
compression, but uses special method in writing matches... Also have very nice
feature - hashing uses a lot of memory - 128KB, but when the memory is low it
will reduce size down upto 4KB, but it will be very very slow. Buffer size is
32KB. Default chunk size is 64KB. Decompresion is very very fast. Also uses
lazy eval method in searching matches - look in the source if you'd like to
know what this means, also if you want to know more about this program - it
slowed everything down, but only in compression.
Sublibrary has several modes:
Mode Strings to be searched
------ ------------------------
0- 9 1 ;for OnTheFly compres (but rake is better)
10-19 2 ;fast but not excelent CF
20-29 4
30-39 8
40-49 16
50-59 32 ;good speed, good results
60-69 64
70-79 128
80-89 256 ;usualy good enough
90-99 512
100 1024 ;the best, the slowest
The second colums shows how many matches should be compared
- the more searched strings - the better results you will get
Last words: I've been using this version 1.16 for two months and no errors
has occured.
And if you want to improve it - send me copy of your work.
Source fot this version is not released, if you want this
send me an e-mail
I'll do some improvements later, but for now I don't have time.
Decompression is OK, but compression is ugly slow, so look
forward for faster compression.
Here is benchmark result:
Evaluated on a A3000/30/25 with 2MB ChipMem and 4MB SCRAM [standard
XPK benchmark system] by XBench using AmigaVision [594712 bytes]
executable as data.
mash.000 594712 332652 44.1% 8.59 69233 1.47 404565
mash.010 594712 329784 44.6% 9.04 65786 1.46 407336
mash.020 594712 326056 45.2% 9.75 60996 1.46 407336
mash.030 594712 322496 45.8% 10.93 54410 1.44 412994
mash.040 594712 319540 46.3% 12.75 46644 1.44 412994
mash.050 594712 317128 46.7% 15.60 38122 1.43 415882
mash.060 594712 315572 47.0% 19.91 29870 1.42 418811
mash.070 594712 314684 47.1% 26.02 22855 1.42 418811
mash.080 594712 314324 47.2% 33.75 17621 1.42 418811
mash.090 594712 314096 47.2% 45.13 13177 1.42 418811
mash.100 594712 313908 47.3% 65.42 9090 1.42 418811
History
-------
unreleased
V0.5 Many errors, the biggest problem was bad writing of bits string.
V0.7 Most of errors has been debuged
V0.8 Last byte has not been saved
V0.9 On the first look normaly working version of the sublibrary with
fixed hash table - size 64KB
V1.0 The big improvement in memory allocating
memory is allocated before each chunk compresion and deallocated
after this chunk is compressed (usefull if you have installed
statram.device)
V1.01 Hash size was increased from 64KB to 128KB (16 bits)
V1.05 Hash is allocated dynamicaly - when is large memory free - large hash
is used. Starting with 128KB, 64KB, 32KB, .... ,512 bytes
V1.15 Seems to work perfectly for me
V1.16 I suppose last bug has been removed - value of register D4
was not saved on return. Also most of long word instruction has
been rewritten to word oriented instructions (useful for MC68000)
first public release:
V1.26 Several speed up improvements - decompression goes about 50 kB faster
Contact Address
---------------
Zdenek Kabelac
Policna 135
Valasske Mezirici
757 01 Czech republic
"kabi/informatics.muni.cz"